Many communications and data storage systems require an approximately constant information rate for reading, writing, or otherwise processing data. For example, multi-level cell (MLC) NAND flash memory systems typically write data at a uniform rate of two or three bits per memory cell. Further, such communications and storage systems often operate at high information rates (e.g., rates of information content to coded data symbols). For example, a typical MLC NAND flash memory application may require an information rate of at least 0.9 information bits per coded bit, wherein an information bit represents the amount of uncoded application or user content that can be represented by one bit.
Trellis Coded Modulation (TCM) combines coding and modulation to achieve high information rates with little or no signal bandwidth expansion. In a given application, a TCM scheme may be concatenated with an outer Reed-Solomon (RS) code and redundancy may advantageously be allocated between the RS code and the TCM scheme in a time-varying manner. A rate of the TCM scheme should therefore be time-adjustable in order to provide a constant system output information rate. To adjust a TCM information rate, a number of information bits in a TCM symbol may be varied, while a total number of bits in the TCM symbol is kept constant. Such a scheme typically provides a small number of adjustable TCM information rates.